diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index 0317489..85505ce 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -156,13 +156,6 @@
 	 */
 	protected $_default		= ' DEFAULT ';
 
-	/**
-	 * COMMENT value representation in CREATE/ALTER TABLE statements
-	 *
-	 * @var	string
-	 */
-	protected $_comment		= ' COMMENT ';
-
 	// --------------------------------------------------------------------
 
 	/**
@@ -777,7 +770,6 @@
 				'unique'		=> '',
 				'default'		=> '',
 				'auto_increment'	=> '',
-				'comment'		=> '',
 				'_literal'		=> FALSE
 			);
 
@@ -815,7 +807,11 @@
 
 			$this->_attr_auto_increment($attributes, $field);
 			$this->_attr_unique($attributes, $field);
-			$this->_attr_comment($attributes, $field);
+
+			if (isset($attributes['COMMENT']))
+			{
+				$field['comment'] = $this->db->escape($attributes['COMMENT']);
+			}
 
 			if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT']))
 			{
@@ -858,8 +854,7 @@
 			.$field['default']
 			.$field['null']
 			.$field['auto_increment']
-			.$field['unique']
-			.$field['comment'];
+			.$field['unique'];
 	}
 
 	// --------------------------------------------------------------------
@@ -997,28 +992,6 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Field attribute COMMENT
-	 *
-	 * @param	array	&$attributes
-	 * @param	array	&$field
-	 * @return	void
-	 */
-	protected function _attr_comment(&$attributes, &$field)
-	{
-		if ($this->_comment === FALSE)
-		{
-			return;
-		}
-
-		if (!empty($attributes['COMMENT']))
-		{	
-			$field['comment'] = $this->_default.$this->db->escape($attributes['COMMENT']);
-		}
-	}
-
-	// --------------------------------------------------------------------
-
-	/**
 	 * Process primary keys
 	 *
 	 * @param	string	$table	Table name
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index ee89e1d..282e2d1 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -185,6 +185,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -193,7 +195,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
-			.$field['comment']
+			.$comment_clause
 			.$extra_clause;
 	}
 
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index e37bd1b..38f6249 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -187,6 +187,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -195,7 +197,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
-			.$field['comment']
+			.$comment_clause
 			.$extra_clause;
 	}
 
diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
index 2152dea..2e988c3 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
@@ -199,6 +199,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -207,7 +209,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
-			.$field['comment']
+			.$comment_clause
 			.$extra_clause;
 	}
 
